﻿using FanaticRock.Core.Download;
using FanaticRock.Core.Models;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FanaticRock.Core.ServiceInterfaces
{
    public interface IDownloadManageService
    {
        event EventHandler<FileDownloadCompletedEventArgs> DownloadCompleted;
        event EventHandler<FileDownloadProgressEventArgs> DownloadProgress;

        Task AddDownloadItem([NotNull] string taskName, [NotNull] string uri, [NotNull] string localPath);

        Task<IEnumerable<DownloadItem>> GetStorage();

        Task Clear();
    }
}
